#include <REGX52.H>
#include"Delay.h"

unsigned char MatrixKey()
	
{
	unsigned char MatrixNum = 0;
	P1 = 0xFF;
	P1_3 = 0;
	if(P1_7 ==0){Delay(20);while(P1_7 ==0);Delay(20);MatrixNum=1;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);MatrixNum=5;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);MatrixNum=9;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);MatrixNum=13;}
	
	
	P1 = 0xFF;
	P1_2= 0;
	if(P1_7 ==0){Delay(20);while(P1_7 ==0);Delay(20);MatrixNum= 2;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);MatrixNum=6;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);MatrixNum=10;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);MatrixNum=14;}
	
	P1 = 0xFF;
	P1_1 =0;
	if(P1_7 ==0){Delay(20);while(P1_7 ==0);Delay(20);MatrixNum=3;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);MatrixNum=7;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);MatrixNum=11;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);MatrixNum=15;}
	
	
	
	P1 = 0xFF;
	P1_0=0;
	if(P1_7 ==0){Delay(20);while(P1_7 ==0);Delay(20);MatrixNum=4;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);MatrixNum=8;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);MatrixNum=12;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);MatrixNum=16;}
	
	return MatrixNum;
}